User or automated selection of enhanced geo-fencing

ABSTRACT

This disclosure relates to a mobile device that is suitable for detect geofence crossing events. In some instances, the mobile device can detect geofence crossing events using a lower power algorithm or a higher power algorithm. The mobile device may allow a user of the mobile device to specify whether a lower power algorithm or a higher power algorithm is to be used when detecting geofence crossing events. In some instances, the mobile device may automatically change from a lower power algorithm to a higher power algorithm if a predetermined abnormality is found to be present in the detected geofence crossing events. In some instances, the user may be prompted to confirm automatically changing from a lower power algorithm to a higher power algorithm if a predetermined abnormality is found to be present in the detected geofence crossing events.

TECHNICAL FIELD

The disclosure relates generally to building automation, and more particularly to building automation systems with geo-fencing capabilities.

BACKGROUND

Building automation systems are often used to control safety, security and/or comfort levels within a building or other structure. Illustrative but non-limiting examples of building automation systems include Heating, Ventilation and/or Air Conditioning (HVAC) systems, security systems, lighting systems, fire suppression systems and/or the like. In some cases, a building automation system may enter an unoccupied mode when the building is expected to be unoccupied and an occupied mode when the building is expected to be occupied. For example, when the building automation system includes an HVAC system, the building automation system may set a temperature set point of the HVAC system to a more energy efficient setting when in an unoccupied mode and a more comfortable setting when in an occupied mode. In another example, when the building automation system includes a security system, the building automation system may set the security system to a locked or away state when in an unoccupied mode and an unlocked or home state when in an occupied mode.

SUMMARY

The present disclosure pertains generally to geo-fencing and, more particularly, to improvements in the accuracy and robustness of geo-fencing. An example of the disclosure may be found in a mobile device with a display, a memory and location services. The mobile device may store information pertaining to a geofence in the memory. With the aid of the location services of the mobile device, a geofence crossing may be detected when the mobile device crosses the geo-fence and, if a geofence crossing is detected, the mobile device may transmit a geofence crossing event to a remote location such as a remote server via a transmitter of the mobile device. The mobile device may detect the geofence crossing events using different algorithms. The different algorithms can use the same or different locations services hardware and/or may include different algorithm settings. The different algorithms may include a lower power algorithm and a higher power algorithm, wherein a lower power algorithm consumes less power from the mobile device than a higher power algorithm. In some cases, the mobile device may allow a user of the mobile device to specify whether a lower power algorithm or a higher power algorithm is to be used when detecting geofence crossing events. In some cases, the mobile device may, sometimes with permission from the user, automatically change from a lower power algorithm to a higher power algorithm if a predetermined abnormality is found to be present in the detected geofence crossing events. In some instances, such functionality may be programmed into the mobile device by an executable program stored on a non-transitory computer-readable storage medium.

The preceding summary is provided to facilitate an understanding of some of the features of the present disclosure and is not intended to be a full description. A full appreciation of the disclosure can be gained by taking the entire specification, claims, drawings, and abstract as a whole.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a schematic view of an illustrative building automation system;

FIG. 2 is a schematic view of another illustrative building automation system;

FIG. 3 is a schematic view of another illustrative building automation system;

FIG. 4 is a schematic view of an illustrative mobile device;

FIG. 5 is a schematic view of an illustrative building automation server;

FIG. 6 is a schematic view of an example geofencing scenario;

FIG. 7 is a schematic view of another example geofencing scenario;

FIG. 8 is an illustrative query that may be displayed on the mobile device soliciting information from the user of the mobile device regarding whether the user of the mobile device would like to improve geofencing or not improve geofencing; and

FIG. 9 is an illustrative query allowing the user of the mobile device to select on a sliding scale between “maximum accuracy” of the geofencing experience and “maximum battery life”.

DESCRIPTION

The following description should be read with reference to the drawings wherein like reference numerals indicate like elements. The drawings, which are not necessarily to scale, are not intended to limit the scope of the disclosure. In some of the figures, elements not believed necessary to an understanding of relationships among illustrated components may have been omitted for clarity.

All numbers are herein assumed to be modified by the term “about”, unless the content clearly dictates otherwise. The recitation of numerical ranges by endpoints includes all numbers subsumed within that range (e.g., 1 to 5 includes 1, 1.5, 2, 2.75, 3, 3.80, 4, and 5).

As used in this specification and the appended claims, the singular forms “a”, “an”, and “the” include the plural referents unless the content clearly dictates otherwise. As used in this specification and the appended claims, the term “or” is generally employed in its sense including “and/or” unless the content clearly dictates otherwise.

It is noted that references in the specification to “an embodiment”, “some embodiments”, “other embodiments”, etc., indicate that the embodiment described may include a particular feature, structure, or characteristic, but every embodiment may not necessarily include the particular feature, structure, or characteristic. Moreover, such phrases are not necessarily referring to the same embodiment. Further, when a particular feature, structure, or characteristic is described in connection with an embodiment, it is contemplated that the feature, structure, or characteristic may be applied to other embodiments whether or not explicitly described unless clearly stated to the contrary.

The present disclosure is directed generally at building automation systems. Building automation systems are systems that control one or more operations of a building. Building automation systems can include HVAC systems, security systems, fire suppression systems, energy management systems and/or any other suitable systems. While HVAC systems are used as an example below, it should be recognized that the concepts disclosed herein can be applied to building control systems more generally.

A building automation system may include a controller, computer and/or other processing equipment that is configured to control one or more features, functions, systems or sub-systems of a building. In some cases, devices that can be used by individuals to communicate with the controller, computer and/or other processing equipment. In some cases, a building automation system may include a plurality of components that, in combination, perform or otherwise provide the functionality of the building automation system. A building automation system may be fully contained within a single building or may include components that are spread between multiple housings and/or across multiple locations. In some embodiments, a building automation system, regardless of the physical location(s) of the components within the building automation system, may control one or more building systems within a single building. In some cases, a building automation system, regardless of the physical location(s) of the components within the building automation system, may control one or more building systems within a plurality of buildings, optionally in accordance with a common operating procedure and/or distinct operating procedures for each building as desired.

FIG. 1 is a schematic view of an illustrative building automation system 10. The illustrative building automation system 10 includes a server 12 that may be configured to communicate with a mobile device 14 and with a building controller 16. It will be appreciated that for simplicity, only a single mobile device 14 is shown, while in many cases the server 12 may be configured to communicate directly or indirectly with any number of mobile devices 14. Similarly, while a single building controller 16 is illustrated, in many cases the server 12 may be configured to communicate directly or indirectly with any number of building controllers 16, located in a single building or distributed throughout a plurality of buildings. The server 12 is illustrated as a single, cloud-based server. In some cases, the server 12 may be a single server. In some instances, the server 12 may generically represent two, three or more servers commonly located or spread between two or more physical locations. In some cases, the server 12 handles communication with both the mobile device 14 and the building controller 16. In some instances, as shown for example in FIG. 2, distinct servers may carry out each communications protocol if desired.

In some cases, the mobile devices 14 may communicate with the server 12 at least partially through a network such as the Internet, sometimes using a cell phone network, WiFi network and/or any other suitable network. Likewise, it is contemplated that the building controller 16 may communicate with the server 12 at least partially through a network such as the Internet, sometimes using a cell phone network, WiFi network and/or any other suitable network. In some cases, the mobile device 14 may be a smartphone, a smart watch, a smart ring, a tablet computer, a laptop computer and/or any other suitable device.

FIG. 2 is a schematic illustration of another illustrative building automation system 20. The illustrative building automation system 20 includes a first server 22 that may be configured to communicate with a mobile device 14 (or multiple mobile devices 14) and a second server 24 that may be configured to communicate with a building controller 16 (or multiple building controllers 16). The first server 22 may be configured to receive data from the mobile device 14, process the data, and send data to the mobile device 14 and/or to the second server 24. The second server 24 may be configured to receive data from the first server 22 and/or the building controller 16, process the data, and send data to the building controller 16 and/or to the first server 22. In some instances, the first server 22 may be configured to permit data from the mobile device 14 to pass directly through to the building controller 16. In some cases, the second server 24 may be configured to permit data from the building controller 16 to pass directly through to the mobile device 14. The first server 22 and the second server 24 may be configured to communicate with each other. In some cases, each of the first server 22 and the second server 24 may perform a defined function.

It will be appreciated that for simplicity, only a single mobile device 14 is shown, while in many cases the first server 22 may be configured to communicate directly or indirectly with any number of mobile devices 14. Similarly, while a single building controller 16 is illustrated, in many cases the second server 24 may be configured to communicate directly or indirectly with any number of building controllers 16, located in a single building or distributed throughout a plurality of buildings.

The first server 22 is illustrated as a single, cloud-based server. In some cases, the first server 22 may be a single server. In some instances, the first server 22 may generically represent two, three or more servers commonly located or spread between two or more physical locations. The second server 24 is illustrated as a single, cloud-based server. In some cases, the second server 24 may be a single server. In some instances, the second server 24 may generically represent two, three or more servers commonly located or spread between two or more physical locations. In some cases, the first server 22 and the second server 24 may, in combination, be considered as representing or forming a building automation server 26.

FIG. 3 is a schematic illustration of a building automation system 30 in which a building automation server 26 is configured to communicate with a plurality of buildings 32 as well as a plurality of mobile devices 34. It is contemplated that the building automation server 26 may include a single server or two or more distinct servers at one or several locations. The building automation system 30 may serve any desired number of buildings. As illustrated, the plurality of buildings 32 includes a Building One, labeled as 32A, a Building Two, labeled as 32B, and so on through a Building “N”, labeled as 32N. It will be appreciated that the building automation system 30 may include a large number of buildings, each in communication with a central (or distributed) building automation server 26. In some cases, each building may be associated with a unique customer account, as further described below.

As illustrated, each of the plurality of buildings 32 includes a building controller and one or more pieces of building equipment. The building equipment may, for example, be HVAC equipment, security equipment, lighting equipment, fire suppression equipment, and/or the like. In particular, the building 32A includes a building controller 36A and building equipment 38A, the building 32B includes a building controller 36B and building equipment 38B, and so on through the building 32N, which includes a building controller 36N and building equipment 38N. It will be appreciated that while each building is illustrated as having a single building controller and single building equipment controlled by the single building controller, in some cases a building may have multiple related or unrelated building controllers and/or multiple pieces of related or unrelated building equipment.

The plurality of mobile devices 34 may be considered as being divided into a set of mobile devices each associated with a corresponding building. In the example shown, the plurality of mobile devices 34 may be considered as being divided into a set of mobile devices 40A that are associated with the building 32A, a set of mobile devices 40B that are associated with the building 32B, and so on through a set of mobile devices 40N that are associated with the building 32N. As illustrated, the set of mobile devices 40A includes a first mobile device 42A, a second mobile device 44A and a third mobile device 46A. The set of mobile devices 40B includes a first mobile device 42B, a second mobile device 44B and a third mobile device 46B and so on through the set of mobile devices 40N, which includes a first mobile device 42N, a second mobile device 44N and a third mobile device 46N. This is merely illustrative, as any number of mobile devices, such as smartphones or tablets, may be associated with a particular building as desired. Each user or occupant of a building may have an associated mobile device or may have several associated mobile devices. In some cases, a user or occupant may have a mobile device associated with several different locations such as a home, a cabin or a place of work.

Associating a mobile device with a particular building generally involves the individual who uses the particular mobile device. In the example shown in FIG. 3, a mobile device can communicate with the building automation server 26 and may cause the building automation server 26 to provide instructions to the building controller that is associated with the particular mobile device. For example and, in some instances, a mobile phone with location services activated can be used to inform the building automation server 26 as to the whereabouts of the user relative to a geofence defined for the associated building, and in some cases an estimate of how long before the user will arrive at the associated building. The building automation server 26 may send a command to the building controller of the associated building to operate the building equipment in an energy savings manner when all of the users that are associated with a particular building are determined to be away from the building (e.g. the building is unoccupied). The building automation server 26 may send a command to the building controller of the associated building to operate the building equipment in a comfort mode when all of the users that are associated with a particular building are determined or deemed not to be away from the building (e.g. the building is occupied).

FIG. 4 is a schematic diagram of the illustrative mobile device 14, as previously referenced in FIGS. 1 and 2. The illustrative mobile device 14 has location services 53 for determining a location of the mobile device 14, and includes a user interface 48 with a display 49, a memory 50, a communications module 51, and a controller 52 that is operably coupled to the user interface 48, the memory 50 and the communications module 51. The location services 53 may include, for example, cellular triangulation (CT), Global Position System (GPS), WiFi Based Positioning (WPS), and/or any other suitable location service. The communications module 51 may include a wired and/or wireless transceiver. In some cases, the communications module 51 may communicate using cellular communication, WiFi communication, Bluetooth communication, Zigbee communication, WiMax communication, and/or any other suitable communication protocol or system as desired. It is contemplated that the memory 50 may be a non-transitory computer-readable storage medium, and in some cases a non-volatile memory.

In some cases, the memory 50 may be configured to store an executable program as well as information pertaining to a geofence that is assigned to a building that is associated with the mobile device 14. In some instances, the memory 50 may also store a geofence log that logs one or more detected geofence crossing events. In some cases, the controller 52 may be configured to upload the geofence log to a remote server, such as the building automation server 26 (FIGS. 2 and 3) from time to time, upon request, or in response to a detected event.

In some instances, with the aid of the location services 53, the controller 52 of the mobile device 14 may detect a geofence crossing when the mobile device 14 crosses a geofence that is assigned to the building associated with the mobile device 14. The mobile device 14 may detect the geofence crossing events using different algorithms. The different algorithms can use the same or different location services hardware and/or may include different algorithm settings. The different algorithms may consume different power levels from the mobile device 14. In some cases, the mobile device may select between a lower power algorithm and a higher power algorithm, wherein a lower power algorithm consumes less power from the mobile device 14 than a higher power algorithm.

In one example, in a lower power algorithm, the location services 53 of the mobile device 14 may use cellular triangulation (CT) when detecting geofence crossing events, and may not use the more power hungry Global Position System (GPS) hardware at all. In a higher power algorithm, the location services 53 of the mobile device 14 may use the more power hungry Global Position System (GPS) hardware exclusively and continuously to detect geofence crossing events.

The mobile device adopts other algorithms with varying power levels. In one example, to reduce the power consumption of the higher power algorithm described above, the mobile device 14 may adopt an algorithm that does not continuously activate the more power hungry Global Position System (GPS) hardware to detect geofence crossing events. Instead, the algorithm may temporarily activate the Global Position System (GPS) hardware to determine if a geofence crossing event has occurred. In some cases, the Global Position System (GPS) hardware may be activated at a certain maximum sample rate, such as 1 reading per minute, 1 reading per 5 minutes, or any other suitable sample rate. In some cases, the sample rate may be set by the mobile device 14 based on the distance that the mobile device 14 is from the geofence, with an increasing sample rate as the mobile device 14 gets closer to the geofence. In some cases, the algorithm may activate the Global Position System (GPS) hardware for a longer or a shorter period of time during each GPS sample to increase or decrease the horizontal accuracy, or HDOP, of the GPS reading. A longer sample period may result in a higher accuracy reading, but will consume more power.

In another example algorithm, the location services 53 of the mobile device 14 may use cellular triangulation (CT) or WPS to initially detect a geofence crossing event and then temporarily activate the more power hungry Global Position System (GPS) hardware to confirm/deny the initially detected geofence crossing event. This algorithm may be higher power than the algorithm described above that does not use the Global Position System (GPS) hardware at all, but may be lower power than the algorithm that uses the Global Position System (GPS) hardware exclusively and continuously to detect geofence crossing events.

In another example algorithm, the location services 53 of the mobile device 14 may use cellular triangulation (CT) or WPS to detect a geofence crossing event, and when the cell tower detects that the user is moving, to then activate the more power hungry GPS more frequently, for example, such as 1 reading per minute, 1 reading per 5 minutes, or any other suitable sample rate.

In some cases, and to reduce the power consumption, not every initially detected geofence crossing event may be confirmed/denied by the Global Position System (GPS) hardware. Instead, the algorithm may only confirm/deny the initially detected geofence crossing events at a maximum confirm/deny rate of once per minute, once per five minutes, or any other suitable maximum confirm/deny rate. Thus, if the cellular triangulation (CT) or WPS detects a series of initially detected geofence crossing events close in time (e.g. due to a low horizontal accuracy of the cellular triangulation), the algorithm may temporarily activate the more power hungry Global Position System (GPS) hardware to confirm/deny only some of the initially detected geofence crossing events, such as one every minute, one every five minutes, or the like. In some cases, the Global Position System (GPS) hardware may be activated for a longer or shorter time period when confirming/denying an initially detected geofence crossing event to increase or decrease the horizontal accuracy, or HDOP, of the GPS reading.

As can be seen from these examples, the mobile device 14 may adopt a wide variety of algorithms that span across a wide range of power consumption levels. In some cases, the mobile device 14 may allow a user of the mobile device 14 to specify whether a lower power algorithm or a higher power algorithm is to be used when detecting geofence crossing events. In some cases, the mobile device may, sometimes with permission from the user, automatically change from a lower power algorithm to a higher power algorithm if a predetermined abnormality is found to be present in the detected geofence crossing events. In some instances, such functionality may be programmed into the mobile device 14 by an executable program stored on a non-transitory computer-readable storage medium.

FIG. 5 is a schematic view of an illustrative building automation server 26, as previously referenced in FIGS. 2 and 3. The building automation server 26 may be configured for servicing a user's building and, in some cases, other buildings as well. The building automation server 26 may include a memory 54, a communications module 56 and a controller 58 that is operably coupled to the memory 54 and to the communications module 56. The memory 54 may be configured for storing a geofence that defines a region about a user's building, and in some cases a log of geofence crossing events received from the user's mobile device. The memory may be RAM memory, optical storage, hard disk storage, and/or any other suitable memory.

The communications module 56 may be configured to communicate with the user's mobile device 14. For example, the communications module 56 may receive geofence crossing events from a user's mobile device 14. In some cases, a geofence crossing event includes a geofence crossing type of inbound or outbound, a timestamp, and/or any other suitable information. In some cases, the communications module 56 of the building automation server 26 may also send information to the user's mobile device 14. In some instances, this information may include whether a predetermined abnormality is suspected and/or present in the detected geofence crossing events, an adjusted geofence size, and/or any other suitable information.

The communications module 56 of the building automation server 26 may also be configured to communicate with an HVAC controller that is controlling an HVAC system within the user's building. The building automation server 26 may send one or more commands to the HVAC controller such that the HVAC controller controls the HVAC system based at least in part in accordance with the detected geofence crossing events. For example, the building automation server 26 may send a command that causes the HVAC controller to enter a more energy efficient away mode (e.g. unoccupied mode) when an outbound geofence crossing event is detected, and to enter a more comfortable home mode (e.g. occupied mode) when an inbound geofence crossing event is detected. This is just one example,

In some cases, the mobile device 14 (see FIG. 4) may be configured to store the geofence associated with the building and to identify when the mobile device 14 crosses the geofence. The communications module 56 of the building automation server 26 may be configured to receive the indications of the geofence crossing events from the mobile device 14 and store them in the memory 54, sometimes in a geofence crossing log. In some cases, the memory 54 may be configured to store a plurality of logs each associated with a corresponding mobile device 14, and the controller 58 may be configured to analyze the plurality of logs to determine if a predetermined abnormality is suspected and/or present. If a predetermined abnormality is suspected and/or present, the controller 58 may communicate the suspected abnormality to the mobile device via the communications module 56. Alternatively, or in addition, some or all of the geofence crossing events may be analyzed by the mobile device 14 rather than the building automation server 26.

In some cases, the mobile device 14 may execute an executable program stored in memory 50 that is configured to instruct the mobile device 14, having a user interface 48 with a display 49 and location services 53, to store information pertaining to a geofence defined by a size about a location, and with the aid of the location services 53 of the mobile device 14, to detect a geofence crossing when the mobile device 14 crosses the geofence, and if a geofence crossing is detected, transmit a geofence crossing event to a remote location, such as a remote building automation server 26. In some cases, the detection of the geofence crossing uses either a lower power algorithm or a higher power algorithm, wherein the lower power algorithm consumes less power from the mobile device 14 than the higher power algorithm. In some cases, a user is allowed to specify via the user interface 48 of the mobile device 14 whether a lower power algorithm or a higher power algorithm is to be used when detecting geofence crossing events, and then the mobile device 14 may adapt to such a lower power or a higher power algorithm when detecting subsequent geofence crossings.

In some cases, a lower power algorithm uses cell tower triangulation of the location services 53 of the mobile device 14, and a higher power algorithm uses the GPS of the location services 53 of the mobile device 14. In some cases, the algorithm uses cell tower triangulation and the GPS of the location services 53 of the mobile device 14, as described above.

In some cases, a lower power algorithm uses the GPS of the location services 53 of the mobile device 14 where the GPS is turned on and sampled at a first rate, and a higher power algorithm uses the GPS of the location services 53 of the mobile device 14 where the GPS is turned on and sampled at a second higher rate.

In some cases, the lower power algorithm and the higher power algorithm may both use the GPS of the location services 53 of the mobile device 14, wherein the lower power algorithm turns the GPS on less often than the higher power algorithm.

In some cases, the lower power algorithm and the higher power algorithm both use the GPS of the location services 53 of the mobile device 14, and the lower power algorithm obtains a less precise GPS location than the higher power algorithm.

In some cases, the mobile device 14 displays on the display 49 a slider button, and the user specifies a desired power level for the algorithm along a range of available power level algorithms (see, FIG. 9). Alternatively, or in addition, the mobile device 14 may display on the display 49 a first user selectable option (e.g. radio button) that corresponds to a lower power algorithm and a second user selectable option (e.g. radio button) that corresponds to the higher power algorithm, and the user specifies whether the lower power algorithm or the higher power algorithm is to be used by selecting either the first user selectable option or the second user selectable option. These are just some example input mechanisms.

In some cases, detection of the geofence crossing uses either the lower power algorithm, the higher power algorithm, or an intermediate power algorithm, wherein the intermediate power algorithm consumes more power from the mobile device 14 than the lower power algorithm (e.g. is a higher power algorithm to the lower power algorithm) and less power from the mobile device 14 than the higher power algorithm (e.g. is a lower power algorithm to the higher power algorithm). In some cases, the user may be allowed to indicate via the user interface of the mobile device 14 whether the lower power algorithm, the intermediate power algorithm or the higher power algorithm is to be used when detecting geofence crossings. It is contemplated that a user specifying whether a lower power algorithm or a higher power algorithm is to be used does not mean that the user must identify a particular lower power algorithm or a particular higher power algorithm. Rather, the user may merely specify a preference along a range of power levels (e.g. see, FIG. 9), and the mobile device 14 and/or building automation server 26 may identified a suitable power algorithm for use during subsequent geofencing. In some cases, the user may be allowed to set a desired tradeoff between geofence performance and battery life of the mobile device 14, which is then used by the mobile device 14 and/or building automation server 26 to identify a suitable power algorithm for use during subsequent geofencing.

In some instances, the mobile device 14 may, sometimes with permission from the user, automatically change from a lower power algorithm to a higher power algorithm if a predetermined abnormality is found to be present in the detected geofence crossing events. For example, the mobile device 14 may change from using a lower power algorithm to a higher power algorithm if a predetermined abnormality is found to be present in the detected geofence crossing events. In one example, a predetermined abnormality that may trigger such an algorithm change may include the detection of more than a threshold number of detected geofence crossing events while the mobile device 14 remains at the user's home (e.g. more than zero detected events). In another example, a predetermined abnormality that may trigger such an algorithm change may include the detection of less than a threshold number of detected geofence crossing events when the user leaves home and goes to work (less than 1 detected event). In some cases, if a predetermined abnormality is found, the mobile device 14 may gain permission from a user via the user interface 48 of the mobile device 14 before changing from a lower power algorithm to a higher power algorithm, or vice-versa.

It is contemplated that the mobile device 14 may determine if one or more predetermined abnormalities are present in the detected geofence crossing events. In some cases, a remote building automation server 26 or the like may determine if one or more predetermined abnormalities are present in the detected geofence crossing events, and the mobile device simply receives from the remote building automation server 26 whether one or more predetermined abnormalities are present in the detected geofence crossing events. In some cases, the mobile device 14 and a remote building automation server 26 or the like may collectively determine if one or more predetermined abnormalities are present in the detected geofence crossing events.

FIG. 6 is a schematic view of an example geofencing scenario. In the scenario shown, if the user of the mobile device 14 is located in a region with poor cellular triangulation, such as a rural location 63A, but the location is known to be remote from a user's home 60, the user and/or mobile device 14 may elect to use cellular triangulation and conserve battery life of the mobile device 14. Cellular triangulation, especially in a rural location 63A, may have a relatively low horizontal accuracy, such as illustrated by the relative large horizontal accuracy region 66. In FIG. 6, horizontal accuracy region 66 represents a statistical measure of the horizontal accuracy (e.g. within 1 standard deviations) of the location reported by the location services of the mobile device 14.

As the user of the mobile device 14 moves closer to the user's home 60, as shown at 63B, the horizontal accuracy region 66 of the cellular triangulation may cross into the geofence 62. When this occurs, the variability in the location provided by cellular triangulation may result in detection of an inbound geofence crossing event even though the actual location of the mobile device 14 remains well outside of the geofence 62. To help improve the geofencing experience of the user, the user and/or mobile device 14 may elect to switch location services 53 to GPS, which may be more power hungry but may have a smaller horizontal accuracy region 68. In some cases, the user and/or mobile device 14 may temporarily switch location services 53 to GPS in order to confirm or deny whether the inbound geofence crossing event detected using cellular triangulation was in fact a valid inbound geofence crossing event. In FIG. 6, and at location 63B, the GPS determines that the mobile device 14 remains well outside of the geofence 62 of the home and that the inbound geofence crossing event was invalid. Once the user of the mobile device 14 arrives and stays at home 60, as shown at 63C, the user and/or mobile device 14 may switch location services 53 back to cellular triangulation with the larger horizontal accuracy region in order to preserve battery life. This is just one example of a geofence algorithm that provides a balance between power and accuracy.

FIG. 7 is a schematic view of another example geofencing scenario. In this example, if the mobile device 14 is determined to be in a region with poor cellular triangulation, such as at a rural location 67A, the user and/or mobile device 14 may switch location services 53 to GPS. As noted above, GPS may have a relatively small horizontal accuracy region 69A. In this example, it is contemplated that the GPS may be temporarily turned on to detect the current location and to determine if the geofence 62 of the home 60 has been crossed. Then the GPS may be turned off. In FIG. 7, the GPS is turned on at location 67A to determine if the geofence 62 of the home 60 has been crossed. The GPS is then turned off. As can be seen, at location 67A, the geofence 62 of the home 60 has not been crossed. The mobile device 14 then travels to a location 67B, where the GPS is turned on to determine if the geofence 62 of the home 60 has been crossed. The GPS is then turned off. As can be seen, at location 67B, the geofence 62 of the home 60 has not been crossed. Next, the mobile device 14 travels to location 67C, which is at the home 60, and then the GPS is turned on to determine if the geofence 62 of the home 60 has been crossed. The GPS is then turned off. As can be seen, at location 67C, the geofence 62 of the home 60 has been crossed.

The sample rate of GPS readings may be set based on the power versus accuracy setting selected by the user (e.g. see FIG. 9). For example, if the user elects to favor battery life over the geofencing experience, the sample rate of GPS readings may be decreased. The sample rate of GPS readings is an example algorithm setting that may be changed based on the power versus accuracy setting specified by the user.

In some cases, the sample rate of GPS readings may be dynamic. For example, the sample rate of GPS readings may be based on the distance that the mobile device 14 is currently away from the geofence 62 of the home 60. For example, if the mobile device 14 is currently one-half hour from the geofence 62 of the home 60, the sample rate may be set to 1 reading every 20 minutes. If the mobile device 14 is currently five minutes from the geofence 62 of the home 60, the sample rate may be set to 1 reading per minute.

In some cases, the user of the mobile device 14 may be able to select the type of location services 53 based on the current location of the mobile device. For example, for a rural setting, the user of the mobile device 14 may select cellular triangulation to conserve battery life, or the user may select to use a combination of GPS and cellular triangulation, or GPS alone. For an urban setting, the user of the mobile device 14 may select cellular triangulation, perhaps in combination with WiFi Based Positioning (WPS). The mobile device 14 may change the type of location services used based on the current location of the mobile device 14 (e.g. rural settings versus urban setting). In some cases, a rural setting may be identified by predetermined geographic boundaries (e.g. county, city, zip code, etc.) or may be dynamically determined by, for example, monitoring when the horizontal accuracy of cellular triangulation falls below a threshold value.

FIG. 8 is an illustrative query that may be displayed on the mobile device soliciting information from the user of the mobile device regarding whether the user of the mobile device would like to improve geofencing or not improve geofencing. In the example shown, the mobile device 14 (sometimes in combination with a building automation server 26) may determine if the geofence experience is likely to be less than desirable. If so, the mobile device 14 may display the screen 80 on the display 49 of the user interface 48 of the mobile device 14. This screen 80 seeks permission from the user to automatically change the geofencing settings to improve the geofencing experience. One such settings may be to change from a lower power algorithm to a higher power algorithm if a predetermined abnormality is found to be present in the detected geofence crossing events. Other setting changes are also contemplated, including any of those described herein.

FIG. 9 is an illustrative query allowing the user of the mobile device 14 to select on a sliding scale between “maximum accuracy” of the geofencing experience and “maximum battery life”. The mobile device 14 may display the screen 90 on the display 49 of the user interface 48 of the mobile device 14, and the user may slide the slider 92 to a desired setting. The mobile device may adjust the algorithm used for geofencing based on the setting selected by the user. For example, if the user slides the slider 92 all the way to the left (maximum accuracy), the mobile device 14 may use the more power hungry Global Position System (GPS) hardware exclusively and continuously to detect geofence crossing events. If the user slides the slider 92 all the way to the right (maximum battery life), the mobile device 14 may use cellular triangulation (CT) or WPS when detecting geofence crossing events, and may not use the more power hungry Global Position System (GPS) hardware at all. If the user moves the slider in between these two settings, the mobile device 14 may use an algorithm for geofencing that strikes the selected balance between accuracy and power.

Those skilled in the art will recognize that the present disclosure may be manifested in a variety of forms other than the specific embodiments described and contemplated herein. Accordingly, departure in form and detail may be made without departing from the scope and spirit of the present disclosure as described in the appended claims. 

What is claimed is:
 1. A non-transitory computer-readable storage medium with an executable program stored thereon, wherein the executable program is configured to instruct a mobile device, having a user interface with a display, and location services that include cell tower triangulation and a Global Position System (GPS), to perform the following: store information pertaining to a geo-fence, the geo-fence defined by a size about a location; with the aid of the location services of the mobile device, detect a geofence crossing when the mobile device crosses the geo-fence, and if a geofence crossing is detected, transmit a geofence crossing event to a remote location via a transmitter of the mobile device; wherein the detection of the geofence crossing uses either a lower power algorithm or a higher power algorithm, wherein the lower power algorithm consumes less power from the mobile device than the higher power algorithm; wherein the lower power algorithm uses cell tower triangulation of the location services of the mobile device, and the higher power algorithm uses the GPS of the location services of the mobile device; allowing a user to specify via the user interface of the mobile device whether the lower power algorithm or the higher power algorithm is to be used when detecting for geofence crossings; using the user specified lower power or higher power algorithm when detecting geofence crossings.
 2. The non-transitory computer-readable storage medium of claim 1, wherein the higher power algorithm uses cell tower triangulation and the GPS of the location services of the mobile device.
 3. The non-transitory computer-readable storage medium of claim 1, wherein the lower power algorithm uses the GPS of the location services of the mobile device, where the GPS is turned on and sampled at a first rate, and the higher power algorithm uses the GPS of the location services of the mobile device, where the GPS is turned on and sampled at a second higher rate.
 4. The non-transitory computer-readable storage medium of claim 1, wherein the lower power algorithm and the higher power algorithm both use the GPS of the location services of the mobile device, wherein the lower power algorithm turns the GPS on less often than the higher power algorithm.
 5. The non-transitory computer-readable storage medium of claim 1, wherein the lower power algorithm and the higher power algorithm both use the GPS of the location services of the mobile device, wherein the lower power algorithm obtains a less precise GPS location than the higher power algorithm.
 6. The non-transitory computer-readable storage medium of claim 1, wherein the mobile device displays on the display a slider button, and the user specifies whether the lower power algorithm or the higher power algorithm is to be used by sliding the slider button to a desired setting.
 7. The non-transitory computer-readable storage medium of claim 1, wherein the mobile device displays on the display a first user selectable option that corresponds to the lower power algorithm and a second user selectable option that corresponds to the higher power algorithm, and the user specifies whether the lower power algorithm or the higher power algorithm is to be used by selecting either the first user selectable option or the second user selectable option.
 8. The non-transitory computer-readable storage medium of claim 1, wherein the detection of the geofence crossing uses either the lower power algorithm, the higher power algorithm, or an intermediate power algorithm, wherein the intermediate power algorithm consumes more power from the mobile device than the lower power algorithm and less power from the mobile device than the higher power algorithm, and wherein the user is allowed to specify via the user interface of the mobile device whether the lower power algorithm, the intermediate power algorithm or the higher power algorithm is to be used when detecting geofence crossings.
 9. A non-transitory computer-readable storage medium with an executable program stored thereon, wherein the executable program is configured to instruct a mobile device, having a user interface with a display, and location services that include cell tower triangulation and a Global Position System (GPS), to perform the following: store information pertaining to a geo-fence, the geo-fence defined by a size about a location; with the aid of the location services of the mobile device, detect a geofence crossing when the mobile device crosses the geo-fence, and if a geofence crossing is detected, transmit a geofence crossing event to a remote location via a transmitter of the mobile device; wherein the detection of the geofence crossing uses either a lower power algorithm or a higher power algorithm, wherein the lower power algorithm consumes less power from the mobile device than the higher power algorithm, and wherein the lower power algorithm uses cell tower triangulation of the location services of the mobile device, and the higher power algorithm uses the GPS of the location services of the mobile device; and change from the lower power algorithm to the higher power algorithm if a predetermined abnormality is found to be present in the detected geofence crossing events.
 10. The non-transitory computer-readable storage medium of claim 9, wherein the predetermined abnormality comprises more than a threshold number of detected geofence crossing events even while the mobile device remains in the user's home.
 11. The non-transitory computer-readable storage medium of claim 9, wherein the predetermined abnormality comprises not detecting one or more geofence crossings.
 12. The non-transitory computer-readable storage medium of claim 9, wherein the executable program instructs the mobile device to determine if the predetermined abnormality is present in the detected geofence crossing events.
 13. The non-transitory computer-readable storage medium of claim 9, wherein the executable program instructs the mobile device to receive via a receiver of the mobile device if the predetermined abnormality is present in the detected geofence crossing events.
 14. The non-transitory computer-readable storage medium of claim 9, wherein the executable program instructs the mobile device to automatically change from the lower power algorithm to the higher power algorithm if the predetermined abnormality is found to be present in the detected geofence crossing events.
 15. The non-transitory computer-readable storage medium of claim 9, wherein if the predetermined abnormality is found to be present in the detected geofence crossing events, the executable program instructs the mobile device to gain permission from a user via the user interface of the mobile device before changing from the lower power algorithm to the higher power algorithm.
 16. A mobile device comprising: a user interface with a display; a location service that can determine a location of the mobile device using each of cell tower triangulation and GPS; a memory for storing information pertaining to a geo-fence, the geo-fence defined by a size about a geo-fenced location; a transmitter; a battery; a controller operatively coupled to the user interface, the location service, the memory, the transmitter, and the battery, the controller configured to: with the aid of the location service of the mobile device, detect a geofence crossing when the mobile device crosses the geo-fence, and if a geofence crossing is detected, transmit a geofence crossing event to a remote location via the transmitter of the mobile device; wherein the detection of the geofence crossing uses either a lower power algorithm or a higher power algorithm, wherein the lower power algorithm consumes less power from the battery than the higher power algorithm, and wherein the lower power algorithm uses cell tower triangulation and the higher power algorithm uses GPS; and change from the lower power algorithm to the higher power algorithm if a predetermined abnormality is found to be present in the detected geofence crossing events.
 17. The mobile device of claim 16, wherein the predetermine abnormality comprises detecting too many geofence crossings and/or detecting too few geofence crossings. 